With the rapid development of communications technologies, communications networks are evolving toward all-IP multimedia networks. Service providers are developing communications services based on Internet Protocol (IP) networks, for example, multimedia call, file downloading, web page browse, and Video on Demand (VoD). Different services require different levels of Quality of Service (QoS), and the charging requirements thereof are also different. The network provides services of different QoS levels for the users according to the service type and the subscription level of the user, detects different service streams, and reports the charging information such as traffic and duration to the charging center for the purpose of charging. In order to tackle issues related to QoS and implement stream-based charging, the 3rd Generation Partnership Project (3GPP) defines a PCC architecture which enables the network to detect different service streams, to exercise QoS control, and to collect charging statistics according to different service streams.
The PCC architecture defined by the 3GPP is shown in FIG. 1. Primarily, a Policy Control and Charging Rules Function (PCRF), a Policy and Charging Enforcement Function (PCEF), and a Gx interface between the PCRF and the PCEF are introduced below.
The PCRF decides the corresponding PCC rules according to the restrictive conditions for a user to access the network, service provider policy, subscription profile, and underway service information, and sends the PCC rules to the PCEF through a Gx interface. The PCEF executes the PCC rules. The PCC rules include: rule of detecting the service data stream (for example, voice IP stream collection), access control, QoS for the service data, and stream-based charging rule.
The PCEF executes the PCC rules delivered by the PCRF through the Gx interface or the specified PCC rules. Specifically, the PCEF detects and measures the service data streams, ensures the QoS of the service data streams, process the user-plane traffic, and trigger the control-plane session management. The PCEF is categorized functionally. Specifically, a PCEF may be a Gateway GPRS Support Node (GGSN) or a Gateway (GW).
The Gx interface is based on the Diameter protocol defined by the Internet Engineering Task Force (IETF).
The Gx interface enables the PCRF to dynamically control the PCC rules executed on the PCEF. The Gx interface is configured to: create, maintain and terminate an IP Connectivity Access Network (IP-CAN) session, enable the PCEF to request PCC rules from the PCRF and enable the PCRF to send the PCC rules to the PCEF, and negotiate the IP-CAN bearer creation mode.
In the prior art, the PCRF delivers PCC rules to the PCEF through the Gx interface and update the PCC rules in either a PULL mode or a PUSH mode.
In the PULL mode, as shown in FIG. 2, the PCEF delivers PCC rules as follows:
1. When an event-trigger event occurs, the PCEF sends a Credit Control Request (CCR) message that carries an event-trigger parameter to the PCRF, requesting to deliver PCC rules.
2. The PCRF judges whether to update the PCC rules (namely, old PCC rules) according to the event-trigger, and returns a Credit Control Answer (CCA) message to the PCEF. If the PCC rules need update, the retuned CCA message carries the updated PCC rules (namely, new PCC rules), and the PCRF stores both the old PCC rules and the new PCC rules.
3. After receiving the CCA message, the PCEF executes the PCC rules. If the returned CCA message carries the new PCC rules, the PCEF executes the new PCC rules; if the returned CCA message carries no new PCC rules, the PCEF executes the old PCC rules. When the PCEF executes the PCC rules unsuccessfully, the PCEF sends a new CCR message.
In the PUSH mode, as shown in FIG. 3, the PCRF delivers PCC rules, as detailed below:
1. When an event-trigger event occurs, the PCRF updates the PCC rules, and sends a Re-Auth Request (RAR) message to the PCEF. The RAR message carries new PCC rules, and the PCRF does not store the old PCC rules.
2. The PCEF executes the new PCC rules delivered through the RAR message. After completion of the execution, the PCEF sends a Re-Auth Answer (RAA) message to the PCRF.
If the old PCC rules are retained, the PCRF needs to retain both new and old PCC state information, and retain the corresponding state information according to the response from the PCEF. However, in the case of updating PCC rules in the PULL mode, the PCRF adjusts the state of the stored new and old PCC rules according to the new CCR message sent by the PCEF only when the PCEF executes the new PCC rules unsuccessfully. If the PCEF executes the new PCC rules successfully, the PCEF sends no new CCR message to the PCRF, and the PCRF is unable to adjust the state of the stored new and old PCC rules, and it is impossible to keep consistency between the PCC rules stored in the PCRF and the PCC rules in the PCEF. In the subsequent interaction between the PCEF and the PCRF, the PCRF is unable to judge the PCC rules for delivery correctly, and the user service is interrupted.
If the PCRF stores no old PCC rules, regardless of the PULL mode or PUSH mode, the PCEF lacks the process of deactivating the old PCC rules, and the old PCC rules on the PCEF are still active; however, the old PCC rules on the PCRF are deactivated. In this case, the PCC rules stored in the PCRF are not consistent with the PCC rules stored in the PCEF, and the user service cannot go on normally.